#ifndef __GUIPASS_H__
#define __GUIPASS_H__

#include "../GE_Base.h"

class SYPAPI GuiPass : public Syp::Pass
{
public:
	GuiPass();
	~GuiPass(){};

	virtual void destroy();

	virtual bool runnableOnHardware();
///Setup done before pass is drawn. Stuff such as binding vertex/texture/normal/attribute streams can be done here. Transformations/software-skinning/rendertargets.
	virtual void preDraw();
///Any cleanup/popping of matrices/etc.. should be done here. Performed after the pass has been drawn.
	virtual void postDraw();		
private:
	double timeDepthCleared;
	std::map<Syp::MeshInstance*,Syp::GuiBase*> clipList;
	Syp::Camera* guiCam;
	Syp::Camera* origCam;
};

#endif //__GUIPASS_H__
